package com.southminority.ethnic.controller.research.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 获奖情况视图对象
 * 
 * @author SouthMinority
 */
@Data
@Schema(description = "获奖情况视图对象")
public class AwardVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "获奖ID", example = "1")
    private Long id;

    @Schema(description = "奖项名称", example = "中国人工智能学会优秀科技成果奖")
    private String title;

    @Schema(description = "授予单位", example = "中国人工智能学会")
    private String organization;

    @Schema(description = "获奖年份", example = "2023")
    private Integer awardYear;

    @Schema(description = "获奖日期", example = "2023-11-15")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate awardDate;

    @Schema(description = "奖项类别", example = "科技成果奖")
    private String awardCategory;

    @Schema(description = "奖项级别", example = "一等奖")
    private String awardLevel;

    @Schema(description = "获奖描述/成果简介", example = "表彰在少数民族语言智能处理领域取得的创新性成果")
    private String description;

    @Schema(description = "主要成就描述", example = "在苗语语音识别技术方面取得重大突破，准确率达到国际先进水平")
    private String achievementDescription;

    @Schema(description = "获奖者列表")
    private List<String> recipients;

    @Schema(description = "获奖项目名称", example = "基于深度学习的苗语语音识别系统")
    private String projectName;

    @Schema(description = "研究领域", example = "人工智能")
    private String researchField;

    @Schema(description = "证书编号", example = "AI2023001")
    private String certificateNumber;

    @Schema(description = "证书图片URL", example = "http://example.com/certificate.jpg")
    private String certificateUrl;

    @Schema(description = "获奖照片URL列表")
    private List<String> photoUrls;

    @Schema(description = "新闻报道链接", example = "http://example.com/news/award.html")
    private String newsUrl;

    @Schema(description = "关键词", example = "人工智能,语音识别,少数民族语言")
    private String keywords;

    @Schema(description = "影响范围", example = "国家")
    private String influenceScope;

    @Schema(description = "经济效益", example = "技术转化收益200万元")
    private String economicBenefits;

    @Schema(description = "社会效益", example = "推动了少数民族语言保护和传承工作")
    private String socialBenefits;

    @Schema(description = "排序值", example = "1")
    private Integer sortOrder;

    @Schema(description = "是否重点展示", example = "1", allowableValues = {"1", "0"})
    private Integer isFeatured;

    @Schema(description = "状态: 1-启用, 0-禁用, -1-已删除", example = "1", allowableValues = {"1", "0", "-1"})
    private Integer status;

    @Schema(description = "创建时间", example = "2023-11-15T10:00:00")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @Schema(description = "更新时间", example = "2023-11-15T10:00:00")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
} 